package com.smart.village.big.screen.mapper;

import com.alibaba.fastjson.JSONObject;
import com.smart.village.big.screen.domain.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Mapper
public interface PartyOrganizationActivityMapper {
    List<PartyOrganizationActivitiesStaticVo> selectPartyOrganizationActivitiesVoListByActivityType(@Param("param") HashMap<String, Object> param);

    List<PartyOrganizationActivitiesFrequency> selectPartyOrganizationActivitiesFrequencyByActivityTypeAndPartyOrganizationType(@Param("param") JSONObject param);

    List<HashMap> selectCntActivityType(@Param("param") HashMap<String, Object> param);

    List<HashMap> getEarlyWarning(@Param("param") HashMap<String, Object> param);

    List<PartyOrganizationActivitiesStaticVo> getMicroPartyOrganizationActivityListByStatus(@Param("param")HashMap<String, Object> param);
    List<PartyOrganizationActivitiesStaticVo> getMicroPartyOrganizationActivitiesUploadList(@Param("param")HashMap<String, Object> param);

    PartyOrganizationActivitiesStaticVo getMicroPartyOrganizationActivitiesStaticVoDetail(String partyOrganizationActivitySerialNumber);

    List<PartyOrganizationActivitiesStaticVo> getMicroTwoContactTwoReport(@Param("param")HashMap<String, Object> param);

    int microActivitySignUp(@Param("partyOrganizationActivitySerialNumber")String partyOrganizationActivitySerialNumber,
                             @Param("iDCardNumber")String iDCardNumber);

    String getMicroActivityisEdit(String partyOrganizationActivitySerialNumber);
    int updateMicroActivityisEdit(String partyOrganizationActivitySerialNumber);

    List<String> getSignUpActivityList(String iDCardNumber);
    List<JSONObject> getPartyOrganizationActivitiesUploadDetail(String partyOrganizationActivitySerialNumber);
    List<JSONObject> getMicroPartyOrganizationActivitiesUploadDetail(String phone, String partyOrganizationActivitySerialNumber);
    List<JSONObject> getMicroAssistanceTask(@Param("param")Map<String, Object> param);

    PartyMembersAssistance getMicroAssistanceById(String id);
    List<JSONObject> getMicroAssistanceTaskLog(String assistanceId);
    List<JSONObject>   getMicroAssistanceTaskLogReturnVisit(String assistanceLogId);
    List<PartyMembersAssistanceLog> getMicroPartyMembersAssistanceLogByAssistanceId(String assistanceId);
    List<PartyMembersAssistanceReturnVisit> getMicroPartyMembersAssistanceReturnVisitByLogId(String logId);

    List<PartyOrganizationActivitiesStaticVo> getMicroManagerPartyOrganizationActivityList(@Param("param")HashMap<String, Object> param);

    List<JSONObject> getMicroManagerAssistanceTask(@Param("param")HashMap<String, Object> param);

    List<JSONObject> getMicroMyThreeQuotaAndOneLectureTask(@Param("param")HashMap<String, Object> param);

    List<JSONObject> getMicroMyTwoContactTwoReportTask(@Param("param")HashMap<String, Object> param);

    List<JSONObject> getMicroMyPartyFeeTask(@Param("param")HashMap<String, Object> param);

    List<JSONObject> getMicroAssistanceTaskAll(@Param("param")HashMap<String, Object> param);

    List<JSONObject> getRandomPhoto(String phone,String status);

    JSONObject getRandomPhotoDetail(String complaintId);

    List<JSONObject> getRandomPhotoProcessingRecord(String complaintId);

    List<JSONObject> getMicroPartyOrganizationActivitiesCheckDetail(String partyOrganizationActivitySerialNumber);

    List<JSONObject> getMicroMyTopicPartyDayTask(@Param("param") HashMap<String, Object> param);

    List<JSONObject> getMicroMyOrganizationLifeTask(@Param("param") HashMap<String, Object> param);

    List<JSONObject> getMicroMyDemocracyLifeTask(@Param("param") HashMap<String, Object> param);

    List<JSONObject> getSendActivityMessageData(String data,String member);

    JSONObject selectPartyOrganizationActivityByPrimaryKey(String data);

    JSONObject getSendPartyFeeMessageMemberInfo(String memberSerialNumber);

    JSONObject getMicroProgramToken(String miniprogramAppId);

    JSONObject getSendComplaintsMessage(String complaintId);

    List<JSONObject> getActivityPoints(String iDCardNumber);
}
